H2 Database একটি লাইটওয়েট এবং দ্রুত SQL ডেটাবেজ সিস্টেম, যা ইন-মেমরি বা ডিস্ক-ভিত্তিক ডেটাবেজ তৈরি করার জন্য ব্যবহৃত হয়। H2 ডেটাবেজে ডেটাবেজ তৈরি এবং টেবিল ম্যানিপুলেশন করা খুবই সহজ এবং দ্রুত। এই টিউটোরিয়ালে আমরা আলোচনা করব H2 Database তৈরি, টেবিল তৈরি, এবং টেবিল ম্যানিপুলেশন করার পদ্ধতি।
H2 Database তৈরি করতে আপনাকে প্রথমে একটি ডেটাবেজ তৈরি করতে হবে। H2 ডেটাবেজটি ইন-মেমরি বা ডিস্কে তৈরি করা যেতে পারে। ডেটাবেজ তৈরি করার জন্য SQL কুয়েরি ব্যবহার করা হয়।
http://localhost:8082
).sa
CREATE DATABASE mydb;
এটি mydb
নামক একটি নতুন ডেটাবেজ তৈরি করবে।
H2 ডেটাবেজ URL-এর মাধ্যমে ডেটাবেজ তৈরি করা যায়। উদাহরণস্বরূপ, ইন-মেমরি ডেটাবেজ তৈরি করতে:
jdbc:h2:mem:testdb
এটি একটি ইন-মেমরি ডেটাবেজ তৈরি করবে যেটি শুধুমাত্র সেশন চলাকালীন থাকবে।
ডেটাবেজ বন্ধ হলে এটি স্বয়ংক্রিয়ভাবে মুছে যাবে।
ডিস্ক-ভিত্তিক ডেটাবেজ তৈরি করতে, আপনি ডেটাবেজের পাথ নির্দিষ্ট করে ডেটাবেজ URL ব্যবহার করতে পারেন:
jdbc:h2:~/mydb
এটি ডেটাবেজ ফাইলকে হোম ডিরেক্টরিতে mydb
নামে তৈরি করবে।
H2 ডেটাবেজে টেবিল তৈরি করতে CREATE TABLE SQL কমান্ড ব্যবহার করা হয়। একটি টেবিল সাধারণত কলাম এবং রো দ্বারা গঠিত, যেখানে প্রতিটি কলাম একটি নির্দিষ্ট ডেটা টাইপ ধারণ করে।
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100),
age INT
);
এখানে:
INT
টাইপের কলাম এবং এটি PRIMARY KEY।VARCHAR(100)
টাইপের কলাম, যেখানে 100 ক্যারেক্টারের স্ট্রিং ধারণ করা যাবে।INT
টাইপের কলাম।আপনি টেবিলের জন্য ডিফল্ট মানও নির্ধারণ করতে পারেন। উদাহরণস্বরূপ:
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100) DEFAULT 'Unknown',
age INT DEFAULT 0
);
এখানে:
H2 ডেটাবেজে আপনি কাস্টম ডেটা টাইপও তৈরি করতে পারেন:
CREATE TYPE phone AS VARCHAR(15);
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100),
phone phone
);
এখানে:
VARCHAR(15)
ব্যবহার করা হয়েছে।টেবিল তৈরি করার পর, আপনি বিভিন্ন ধরণের টেবিল ম্যানিপুলেশন করতে পারেন, যেমন ডেটা ইনসার্ট, আপডেট, ডিলিট, এবং কুয়েরি করা।
ডেটাবেজে ডেটা ইনসার্ট করতে INSERT INTO কুয়েরি ব্যবহার করা হয়:
INSERT INTO employees (id, name, age) VALUES (1, 'John Doe', 30);
এটি employees
টেবিলের মধ্যে একটি রেকর্ড ইনসার্ট করবে।
ডেটা আপডেট করতে UPDATE কুয়েরি ব্যবহার করা হয়:
UPDATE employees SET age = 31 WHERE id = 1;
এটি id = 1
রেকর্ডের age ফিল্ডটি 31 তে আপডেট করবে।
ডেটা মুছে ফেলার জন্য DELETE কুয়েরি ব্যবহার করা হয়:
DELETE FROM employees WHERE id = 1;
এটি id = 1
রেকর্ডটি মুছে ফেলবে।
ডেটাবেজ থেকে ডেটা সংগ্রহ করতে SELECT কুয়েরি ব্যবহার করা হয়:
SELECT * FROM employees;
এটি employees
টেবিল থেকে সমস্ত রেকর্ড নির্বাচন করবে।
ALTER TABLE কুয়েরি ব্যবহার করে টেবিলের স্ট্রাকচার পরিবর্তন করা যায়:
কলাম যোগ করা:
ALTER TABLE employees ADD COLUMN email VARCHAR(255);
কলাম মুছে ফেলা:
ALTER TABLE employees DROP COLUMN email;
কলামের ডেটা টাইপ পরিবর্তন:
ALTER TABLE employees ALTER COLUMN age SET DATA TYPE BIGINT;
টেবিল মুছে ফেলতে DROP TABLE কুয়েরি ব্যবহার করা হয়:
DROP TABLE employees;
এটি employees
টেবিলটি ডিলিট করে দিবে।
ডেটাবেজের পারফরম্যান্স উন্নত করার জন্য Index তৈরি করা যেতে পারে। CREATE INDEX কুয়েরি ব্যবহার করে একটি টেবিলের উপর ইনডেক্স তৈরি করা যায়:
CREATE INDEX idx_name ON employees(name);
এটি employees
টেবিলের name কলামের উপর একটি ইনডেক্স তৈরি করবে, যা ডেটা খোঁজার গতি বাড়াবে।
টেবিলের তথ্য দেখতে DESCRIBE কুয়েরি ব্যবহার করা হয়:
DESCRIBE employees;
এটি employees
টেবিলের কলাম, ডেটা টাইপ এবং অন্যান্য তথ্য প্রদর্শন করবে।
SELECT COUNT(*) FROM employees;
এটি employees
টেবিলের মোট রেকর্ড সংখ্যা দেখাবে।
H2 Database এ ডেটাবেজ তৈরি এবং টেবিল ম্যানিপুলেশন সহজ এবং সরল। আপনি CREATE TABLE, INSERT, UPDATE, DELETE, এবং SELECT কুয়েরি ব্যবহার করে ডেটা পরিচালনা করতে পারেন। এছাড়াও, আপনি ALTER TABLE, DROP TABLE এবং CREATE INDEX কুয়েরি দিয়ে টেবিলের কাঠামো পরিবর্তন বা পারফরম্যান্স অপটিমাইজ করতে পারেন। H2-এর সরলতা এবং ব্যবহারযোগ্যতা এটিকে ডেভেলপমেন্ট এবং টেস্টিংয়ের জন্য একটি আদর্শ ডেটাবেজ সমাধান করে তোলে।
Read more